﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace SIBI.Models
{
    public class BienInformaticoInitializer : DropCreateDatabaseIfModelChanges<SIBIContext>
    {
        protected override void Seed(SIBIContext context)
        {
            var proveedores = new List<Proveedor> {  
  
                 new Proveedor { cnom="Centro Soporte", cres="Andres Domador", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="adftecnologia@cantv.net" },
                 new Proveedor { cnom="Servicios GZ", cres="Beatriz Himiob", cubi="Caracas", cdes="Vendedor de equipos perifericos-Mantenimiento de impresoras- Alquiler de equipos", ccor="beatriz.himiob@serviciosgz.com.ve" },
                 new Proveedor { cnom="Jap Tech", cres="Alejandra Perez", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="alejandra.perez@japtech.com.ve" },
                 new Proveedor { cnom="PC RAM", cres="Tatiana Silva", cubi="Caracas", cdes="Vendedor de equipos perifericos-Mantenimiento de impresoras- Alquiler de equipos", ccor="tsilva@pcramgroup.com.ve" },
                 new Proveedor { cnom="EnterprisePerfomance", cres="Javier Flores", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="javier.flores@performance-ent.com" },
                 new Proveedor { cnom="Procom Sistemas", cres="Edwin Agüero", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="edwin.aguero@psca.com.ve" },
                 new Proveedor { cnom="Protokol", cres="Alexander Sepulveda", cubi="Caracas", cdes="Equipos HP", ccor="alexander_sepulveda@protokolgroup.com" },
                 new Proveedor { cnom="Inversiones Fakandri", cres="Juliani Rodriguez", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="ventas1@frankadri.com" },
                 new Proveedor { cnom="Meysis", cres="Yamilev Riera", cubi="Caracas", cdes="Vendedor de equipos perifericos", ccor="yamilev.riera@meysys.com" },
                 new Proveedor { cnom="Gigante Express", cres="Andy Zarraga", cubi="Maracaibo", cdes="Consumibles", ccor="andyzarraga@cantv.net" }
             };

            proveedores.ForEach(d => context.Proveedors.Add(d));

            var estados = new List<Estado> {  
  
                 new Estado { cnom="Asignado" },
                 new Estado { cnom="Resguardado" }, 
                 new Estado { cnom="Mantenimiento" },
                 new Estado { cnom="Prestado" },
                 new Estado { cnom="Desincorporado" },
                 new Estado { cnom="Resguardo Revisión" }
             };

            estados.ForEach(d => context.Estadoes.Add(d));

            var causas = new List<CausaMovimiento> {  
  
                 new CausaMovimiento { cnom="Asignación" },
                 new CausaMovimiento { cnom="Resguardo" }, 
                 new CausaMovimiento { cnom="Mantenimiento" },
                 new CausaMovimiento { cnom="Prestamo" },
                 new CausaMovimiento { cnom="Desincorporación" },
                 new CausaMovimiento { cnom="Resguardo Revisión" },
                 new CausaMovimiento { cnom="Transferencia" }
             };

            causas.ForEach(d => context.CausaMovimientoes.Add(d));

            var tipodebienes = new List<TipoBien> {  
  
                 new TipoBien { cnom="Arrendado" },
                 new TipoBien { cnom="Activo Fijo" }
             };

            tipodebienes.ForEach(d => context.TipoBiens.Add(d));

            var sociedades = new List<Sociedad> {  
  
                 new Sociedad { cscc="0044", cnom="Monaca" },
                 new Sociedad { cscc="0050", cnom="Maseca" }
             };

            sociedades.ForEach(d => context.Sociedads.Add(d));

            var divisiones = new List<Division> {  
                 new Division { DivisionId="0000", cper="0000", cdvv="Administrativo" },
                 new Division { DivisionId="0001", cper="0001", cdvv="Industrial" },
                 new Division { DivisionId="0002", cper="0002", cdvv="Agroindustrial" },
                 new Division { DivisionId="0005", cper="0005", cdvv="Consumo" }
             };

            divisiones.ForEach(d => context.Divisions.Add(d));

            var cargos = new List<Cargo> {  
  
                 new Cargo { n_personal="DEPOSITO", empleados="DEPOSITO", CargoId="DEPOSITO", cdes="DEPOSITO", correo="N/A", division="0000"},
                 new Cargo { n_personal="06898168", empleados="OLMEDILLO ORTIZ, CARMEN B.", CargoId="50015151",cdes="COORDINADOR DE BIENES Informáticos", correo="bolmedillo@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="17147858", empleados="MEDINA, JOHANNA MELANIE", CargoId="50002847",cdes="ADMINISTRADOR DE BIENES Informáticos", correo="jmmedina@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="07949950", empleados="SOTO, ESTEBAN JOSE", CargoId="50004869",cdes="JEFE DE DESARROLLO DE APLICACIONES", correo="esotoa@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="18745490", empleados="DI PUGLIA, ADRIAN ALEJANDRO", CargoId="50005263",cdes="PASANTE", correo="adipluglia@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="13925005", empleados="GUERRERO, SABRINA", CargoId="50002250",cdes="COORDINADOR DE PROYECTOS", correo="sguerrero@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="04277571", empleados="CONTRERAS G., EDGAR ANTONIO", CargoId="50004509",cdes="GERENTE DE CUENTAS ESPECIALES", correo="prueba@monaca.com.ve", ceco="6090605011", division="0001"},
                 new Cargo { n_personal="09608804", empleados="MORA, LUCINDO ANTONIO", CargoId="50013829",cdes="COORDINADOR DE PROYECTOS DE DESARROLLO", correo="lmora@monaca.com.ve", ceco="7280600000", division="0000"},
                 new Cargo { n_personal="05859633", empleados="PEREZ, CARLOS JOSE", CargoId="50013985",cdes="JEFE DE PROYECTOS DE NOMINA", correo="prueba@monaca.com.ve", ceco="7710500000", division="0000"},

             };

            cargos.ForEach(d => context.Cargoes.Add(d));

            var marcas = new List<Marca> {  
  
                 new Marca { cnom="HP" },
                 new Marca { cnom="EPSON" }, 
                 new Marca { cnom="Infocus" },
                 new Marca { cnom="IBM" }, 
                 new Marca { cnom="Cisco" },
                 new Marca { cnom="APC" },
                 new Marca { cnom="LG" },
                 new Marca { cnom="Samsung" },
                 new Marca { cnom="AVTEK" }
             };

            marcas.ForEach(d => context.Marcas.Add(d));

            var claseobjetos = new List<ClaseObjeto> {  
  
                 new ClaseObjeto { cnom="Laptop" },
                 new ClaseObjeto { cnom="Monitor" }, 
                 new ClaseObjeto { cnom="CPU" },
                 new ClaseObjeto { cnom="Impresora Matriz" },
                 new ClaseObjeto { cnom="Impresora LaserJet" }, 
                 new ClaseObjeto { cnom="Switch" },
                 new ClaseObjeto { cnom="Router" }, 
                 new ClaseObjeto { cnom="UPS" },
                 new ClaseObjeto { cnom="Video Beam" },
                 new ClaseObjeto { cnom="Servidor" },
                 new ClaseObjeto { cnom="Teclado" },
                 new ClaseObjeto { cnom="Mouse" },
                 new ClaseObjeto { cnom="Dockig" },
                 new ClaseObjeto { cnom="Fuente" },
                 new ClaseObjeto { cnom="Disco Duro" },
                 new ClaseObjeto { cnom="Camara" },
                 new ClaseObjeto { cnom="Diadema" },
                 new ClaseObjeto { cnom="Regleta" },
                 new ClaseObjeto { cnom="Regulador" },
                 new ClaseObjeto { cnom="Pendrive" },
                 new ClaseObjeto { cnom="Escaner" }
             };

            claseobjetos.ForEach(d => context.ClaseObjetoes.Add(d));

            var marcasmodelos = new List<MarcaModelo> {  
  
                 new MarcaModelo { cmod="8000e",  MarcaId=1, ClaseObjetoId=3 },
                 new MarcaModelo { cmod="LE1851w", MarcaId=1, ClaseObjetoId=2 },
                 new MarcaModelo { cmod="DC7900", MarcaId=1, ClaseObjetoId=3 },
                 new MarcaModelo { cmod="V185es", MarcaId=1, ClaseObjetoId=2 },
                 new MarcaModelo { cmod="6910P", MarcaId=1, ClaseObjetoId=1 },
                 new MarcaModelo { cmod="6930P", MarcaId=1, ClaseObjetoId=1 },
                 new MarcaModelo { cmod="MATRIZ FX-2190", MarcaId=2, ClaseObjetoId=4 },
                 new MarcaModelo { cmod="2801", MarcaId=5, ClaseObjetoId=7 }
             };

            marcasmodelos.ForEach(d => context.MarcaModeloes.Add(d));

            var localidades = new List<LOCALIDAD> {  
  
                 new LOCALIDAD { localidad_id="0002", localidad_nombre="CENTRO MONACA" }
                 /*
                 new MarcaModelo { cmod="LE1851w", MarcaId=1, ClaseObjetoId=2 },
                 new MarcaModelo { cmod="DC7900", MarcaId=1, ClaseObjetoId=3 },
                 new MarcaModelo { cmod="V185es", MarcaId=1, ClaseObjetoId=2 },
                 new MarcaModelo { cmod="6910P", MarcaId=1, ClaseObjetoId=1 },
                 new MarcaModelo { cmod="6930P", MarcaId=1, ClaseObjetoId=1 },
                 new MarcaModelo { cmod="MATRIZ FX-2190", MarcaId=2, ClaseObjetoId=4 },
                 new MarcaModelo { cmod="2801", MarcaId=5, ClaseObjetoId=7 }
                 */
             };

            marcasmodelos.ForEach(d => context.MarcaModeloes.Add(d));
            context.SaveChanges();

            var bienesInformaticos = new List<BienInformatico> {  

                     new BienInformatico { BienInformaticoId= "MXJ00905R7", cubf= "Tecnología", nanf= "14",
                     nena= "1", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50015151",
                     MarcaModeloId= 1, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNC951QW3J", cubf= "Tecnología", nanf= "14",
                     nena= "2", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     PadreId= "MXJ00905R7", EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50015151",
                     MarcaModeloId= 2, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ00906L5", cubf= "Tecnología", nanf= "14",
                     nena= "3", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50002847",
                     MarcaModeloId= 1, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNC951QW38", cubf= "Tecnología", nanf= "14",
                     nena= "4", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     PadreId="MXJ00906L5", EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50002847",
                     MarcaModeloId= 2, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ00906Z5", cubf= "Tecnología", nanf= "14",
                     nena= "5", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50004869",
                     MarcaModeloId= 1, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNC952PGSW", cubf= "Tecnología", nanf= "14",
                     nena= "6", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     PadreId="MXJ00906Z5", EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50004869",
                     MarcaModeloId= 2, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ00906L1", cubf= "Tecnología", nanf= "14",
                     nena= "7", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50005263",
                     MarcaModeloId= 1, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNC001S9WR", cubf= "Tecnología", nanf= "14",
                     nena= "8", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     PadreId="MXJ00906L1",EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50005263",
                     MarcaModeloId= 2, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ93804L4", cubf= "Tecnología", nanf= "14",
                     nena= "9", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50002250",
                     MarcaModeloId= 3, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNT92962M5", cubf= "Tecnología", nanf= "14",
                     nena= "10", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     PadreId="MXJ93804L4",EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "50002250",
                     MarcaModeloId= 4, ceco_id="7210600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CND746165B", cubf= "Gerencia de Cuentas Especiales", nanf= "805400990",
                     nena= "103", dfva= new DateTime(2010,01,08,00,00,00,000), diga= new DateTime(2010,01,08,00,00,00,000), dfga= new DateTime(2012,05,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 2,SociedadId= 1,DivisionId= "0001",CargoId= "50004509",
                     MarcaModeloId= 5, ceco_id="6090605011", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "2CE932239S", cubf= "Jefatura Desarrollo de Aplicaciones", nanf= "11",
                     nena= "104", dfva= new DateTime(2009,04,12,00,00,00,000), diga= new DateTime(2009,04,12,00,00,00,000), dfga= new DateTime(2012,10,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 1,SociedadId= 1,DivisionId= "0001",CargoId= "50013829",
                     MarcaModeloId= 6, ceco_id="4110925011", localidad_id="4050"
                 },
                     new BienInformatico { BienInformaticoId= "FCTY074847", cubf= "Jefatura Desarrollo de Aplicaciones", nanf= "25805542221",
                     nena= "105", dfva= new DateTime(2007,07,20,00,00,00,000), diga= new DateTime(2010,01,08,00,00,00,000), dfga= new DateTime(2013,10,31,00,00,00,000),
                     EstadoId= 1,TipoBienId= 2,SociedadId= 1,DivisionId= "0001",CargoId= "50013829",
                     MarcaModeloId= 7, ceco_id="4110925011", localidad_id="4050"
                 },
                     new BienInformatico { BienInformaticoId= "FTX1120W1YL", cubf= "Deposito", nanf= "65055005221",
                     nena= "106", dfva= new DateTime(2008,06,25,00,00,00,000), diga= new DateTime(2008,06,25,00,00,00,000), dfga= new DateTime(2012,11,21,00,00,00,000),
                     EstadoId= 2,TipoBienId= 2,SociedadId= 1,DivisionId= "0000",CargoId= "DEPOSITO",
                     MarcaModeloId= 8, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNT933642H", cubf= "Deposito", nanf= "10",
                     nena= "1", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 2,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "DEPOSITO",
                     MarcaModeloId= 2, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ93804MT", cubf= "Deposito", nanf= "10",
                     nena= "2", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 2,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "DEPOSITO",
                     MarcaModeloId= 1, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "CNC951QVB5", cubf= "Deposito", nanf= "10", 
                     nena= "3", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 2,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "DEPOSITO",
                     MarcaModeloId= 2, ceco_id="7280600000", localidad_id="0002"
                 },
                     new BienInformatico { BienInformaticoId= "MXJ00906K9", cubf= "Deposito", nanf= "10",
                     nena= "4", dfva= new DateTime(2010,04,08,00,00,00,000), diga= new DateTime(2010,04,08,00,00,00,000), dfga= new DateTime(2013,05,31,00,00,00,000),
                     EstadoId= 2,TipoBienId= 1,SociedadId= 1,DivisionId= "0000",CargoId= "DEPOSITO",
                     MarcaModeloId= 1, ceco_id="7280600000", localidad_id="0002"
                 }
             };

            bienesInformaticos.ForEach(d => context.BienInformaticoes.Add(d));
            context.SaveChanges();

            var controlcorreos = new List<ControlCorreo> {  
                 new ControlCorreo { CausaMovimientoId=1, ccor="gabrielmunumel@gmail.com" },
                 new ControlCorreo { CausaMovimientoId=2, ccor="gabrielmunumel@gmail.com" },
                 new ControlCorreo { CausaMovimientoId=3, ccor="gabrielmunumel@gmail.com,dipuglia29.88@gmail.com,n0dix1234@gmail.com", nfre=7 },
                 new ControlCorreo { CausaMovimientoId=4, ccor="gabrielmunumel@gmail.com" },
                 new ControlCorreo { CausaMovimientoId=5, ccor="gabrielmunumel@gmail.com,dipuglia29.88@gmail.com" },
                 new ControlCorreo { CausaMovimientoId=6, ccor="gabrielmunumel@gmail.com" },
                 new ControlCorreo { CausaMovimientoId=7, ccor="gabrielmunumel@gmail.com,dipuglia29.88@gmail.com" }
             };

            controlcorreos.ForEach(d => context.ControlCorreos.Add(d));
            context.SaveChanges();
        }
    }
}